home *** CD-ROM | disk | FTP | other *** search
Wrap
/* -- ANSI C code generated by : -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.82) -- -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE -- -- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr -- -- http://www.loria.fr/SmallEiffel -- */ #include "short.h" T0* r880add_comment(T880* C,T0* a1){ T0* R=NULL; /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) { R=(T0*)C; } else {/*AT*//*IF*/if ((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(1)) { R=(T0*)C; } else { {T59*n=malloc(sizeof(*n)); *n=M59; r59make(n,(T0*)C,a1); R=(T0*)n; } } /*FI*/} /*FI*/return R; } /*No:E_LOOP.fz_is_not_boolean*/ void r880make(T880* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6){ C->_start_position=a1; C->_initialize=a2; C->_invariant_clause=a3; C->_variant_clause=a4; C->_until_expression=a5; C->_loop_body=a6; } /*No:E_LOOP.nb_errors*/ /*No:E_LOOP.start_position*/ /*No:E_LOOP.until_expression*/ T0* r880to_runnable(T880* C,T0* a1){ T0* R=NULL; int _loop_check=0; T0* _ue=NULL; _loop_check=r590loop_check(((T590*)(oBC364run_control))); /*IF*/if (((((T880*)C))->_run_compound/*4*/)==((void*)(NULL))) { C->_run_compound=a1; /*IF*/if (((((T880*)C))->_initialize/*12*/)!=((void*)(NULL))) { C->_initialize=r592to_runnable(((T592*)((((T880*)C))->_initialize/*12*/)),r880current_type(C)); /*IF*/if (((((T880*)C))->_initialize/*12*/)==((void*)(NULL))) { r880error((((T880*)C))->_start_position/*8*/,((T0*)ms4_880)); } /*FI*/} /*FI*//*IF*/if ((_loop_check)&&(((((T880*)C))->_invariant_clause/*16*/)!=((void*)(NULL)))) { C->_invariant_clause=r213to_runnable(((T213*)((((T880*)C))->_invariant_clause/*16*/)),(((T592*)((T592*)a1)))->_current_type/*4*/); /*IF*/if (((((T880*)C))->_invariant_clause/*16*/)==((void*)(NULL))) { r880error((((T880*)C))->_start_position/*8*/,((T0*)ms5_880)); } /*FI*/} /*FI*//*IF*/if ((_loop_check)&&(((((T880*)C))->_variant_clause/*20*/)!=((void*)(NULL)))) { C->_variant_clause=X856to_runnable((((T880*)C))->_variant_clause/*20*/,r880current_type(C)); /*IF*/if (((((T880*)C))->_variant_clause/*20*/)==((void*)(NULL))) { r880error((((T880*)C))->_start_position/*8*/,((T0*)ms6_880)); } /*FI*/} /*FI*/_ue=X662to_runnable((((T880*)C))->_until_expression/*24*/,r880current_type(C)); /*IF*/if ((_ue)!=((void*)(NULL))) { /*IF*/if (!(X291is_boolean(X662result_type(_ue)))) { r880error(X662start_position(_ue),((T0*)ms7_880)); r683add_type(X662result_type(_ue),((T0*)ms73_470)); r683print_as_error(((T683*)(oBC364eh))); } /*FI*/C->_until_expression=_ue; } else { r880error((((T880*)C))->_start_position/*8*/,((T0*)ms8_880)); } /*FI*//*IF*/if (((((T880*)C))->_loop_body/*28*/)!=((void*)(NULL))) { C->_loop_body=r592to_runnable(((T592*)((((T880*)C))->_loop_body/*28*/)),r880current_type(C)); /*IF*/if (((((T880*)C))->_loop_body/*28*/)==((void*)(NULL))) { r880error((((T880*)C))->_start_position/*8*/,((T0*)ms9_880)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { R=(T0*)C; } /*FI*/} else { {T880*n=malloc(sizeof(*n)); *n=M880; r880make(n,(((T880*)C))->_start_position/*8*/,(((T880*)C))->_initialize/*12*/,(((T880*)C))->_invariant_clause/*16*/,(((T880*)C))->_variant_clause/*20*/,(((T880*)C))->_until_expression/*24*/,(((T880*)C))->_loop_body/*28*/); R=(T0*)n; } R=r880to_runnable(((T880*)R),a1); } /*FI*/return R; } /*No:E_LOOP.variant_clause*/ /*No:E_LOOP.invariant_clause*/ /*No:E_LOOP.loop_body*/ T0* r880current_type(T880* C){ T0* R=NULL; /*IF*/if (((((T880*)C))->_run_compound/*4*/)!=((void*)(NULL))) { R=(((T592*)((T592*)((((T880*)C))->_run_compound/*4*/))))->_current_type/*4*/; } /*FI*/return R; } /*No:E_LOOP.run_compound*/ void r880error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:E_LOOP.end_mark_comment*/ /*No:E_LOOP.initialize*/ void r393short(T393* C,T0* a1,T0* a2,T0* a3,T0* a4){ int _open_quote=0; char _c=0; T0* _l=NULL; int _j=0; int _i=0; _i=(((T52*)((T52*)((((T393*)C))->_list/*4*/))))->_lower/*12*/; while (!((_i)>((((T52*)((T52*)((((T393*)C))->_list/*4*/))))->_upper/*8*/))) { r580hook_or(((T580*)(oBC364short_print)),a1,a2); r580hook(((T580*)(oBC364short_print)),((T0*)ms1_393)); _l=r52item(((T52*)((((T393*)C))->_list/*4*/)),_i); _j=1; while (!((_j)>((((T7*)((T7*)_l)))->_count/*4*/))) { _c=/*(IRF4.6item*/((((T7*)((T7*)_l)))->_storage/*0*/)[(_j)-(1)]/*)*/; {int z1=_c; if((95==z1)){ r580hook_or(((T580*)(oBC364short_print)),((T0*)ms2_393),((T0*)ms3_393)); } else if((96==z1)){ _open_quote=1; r580hook_or(((T580*)(oBC364short_print)),((T0*)ms4_393),((T0*)ms5_393)); } else if((39==z1)){ /*IF*/if (_open_quote) { _open_quote=0; r580hook_or(((T580*)(oBC364short_print)),((T0*)ms6_393),((T0*)ms7_393)); } else { /*[IRF3.6a_character*/{char b1=_c; /*[IRF3.6put_character*/{T830* C2=((T830*)(oBC1std_output)); char c1=b1; putc(c1,((FILE*)(stdout))); }/*]*/ }/*]*/ } /*FI*/} else{/*[IRF3.6a_character*/{char b1=_c; /*[IRF3.6put_character*/{T830* C2=((T830*)(oBC1std_output)); char c1=b1; putc(c1,((FILE*)(stdout))); }/*]*/ }/*]*/ }} _j=(_j)+(1); } r580hook(((T580*)(oBC364short_print)),((T0*)ms8_393)); r580hook_or(((T580*)(oBC364short_print)),a3,a4); _i=(_i)+(1); } } void r393good_end(T393* C,T0* a1){ /*IF*/if (!(r7has_string(((T7*)(r52item(((T52*)((((T393*)C))->_list/*4*/)),1))),(((T451*)((T451*)a1)))->_to_string/*0*/))) { r683add_position((((T451*)((T451*)a1)))->_start_position/*4*/); r393warning((((T393*)C))->_start_position/*0*/,((T0*)ms10_393)); } /*FI*/} void r393make(T393* C,T0* a1,T0* a2){ C->_start_position=a1; C->_list=a2; } /*No:COMMENT.start_position*/ /*No:COMMENT.list*/ /*No:COMMENT.count*/ /*No:COMMENT.add_last*/ void r393append(T393* C,T0* a1){ int _i=0; _i=1; while (!((_i)>((((T52*)((T52*)((((T393*)((T393*)a1)))->_list/*4*/))))->_upper/*8*/))) { /*[IRF3.5add_last*/r52add_last(((T52*)((((T393*)C))->_list/*4*/)),r52item(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)),_i)); /*]*/ _i=(_i)+(1); } } void r393warning(T0* a1,T0* a2){ r683add_position(a1); r683warning(((T683*)(oBC364eh)),a2); } void r723short(T723* C){ X361short((((T723*)C))->_name/*4*/); r580hook_or(((T580*)(oBC364short_print)),((T0*)ms2_723),((T0*)ms3_723)); X291short(/*X361*/((T0*)(((T886*)((T886*)((((T723*)C))->_name/*4*/))))->_result_type/*20*/)); } void r723make(T723* C,T0* a1,T0* a2){ C->_name=a1; /*X361*//*[IRF3.3set_result_type*/((((T886*)(((T886*)((((T723*)C))->_name/*4*/)))))->_result_type)=(a2); /*]*/ } /*No:DECLARATION_1.name*/ void r723append_in(T723* C,T0* a1){ X535add_last(a1,(((T723*)C))->_name/*4*/); } /*No:DECLARATION_1.count*/ /*No:INDEX_LIST.make*/ /*No:INDEX_LIST.list*/ void r31short(T31* C){ int _i=0; r580hook_or(((T580*)(oBC364short_print)),((T0*)ms2_31),((T0*)ms3_31)); _i=1; while (!((_i)>((((T382*)((T382*)((((T31*)C))->_list/*8*/))))->_upper/*8*/))) { X411short(r382item(((T382*)((((T31*)C))->_list/*8*/)),_i)); _i=(_i)+(1); /*IF*/if ((_i)<=((((T382*)((T382*)((((T31*)C))->_list/*8*/))))->_upper/*8*/)) { r580hook_or(((T580*)(oBC364short_print)),((T0*)ms4_31),((T0*)ms5_31)); } /*FI*/} r580hook_or(((T580*)(oBC364short_print)),((T0*)ms6_31),((T0*)ms7_31)); } void r31make(T31* C,T0* a1,T0* a2){ T0* _an2=NULL; int _rank=0; int _i=0; T0* _tla2=NULL; T0* _tla=NULL; T0* _tlf=NULL; T0* _an=NULL; r31standard_make(C,a1,a2); _i=(((T65*)((T65*)((((T31*)C))->_flat_list/*12*/))))->_upper/*12*/; while (!((_i)==(0))) { _an=r65item(((T65*)((((T31*)C))->_flat_list/*12*/)),_i); _tlf=(((T873*)((T873*)_an)))->_result_type/*20*/; if(NULL!=(_tlf))switch(((T0*)_tlf)->id) { case 648: break; default: _tlf=NULL; };/*IF*/if ((_tlf)!=((void*)(NULL))) { _rank=r31rank_of(C,X776to_string((((T648*)((T648*)_tlf)))->_like_what/*12*/)); /*IF*/if ((_rank)==(_i)) { r683add_position((((T648*)((T648*)_tlf)))->_start_position/*4*/); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms64_470); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } else if ((_rank)>(0)) { {T886*n=malloc(sizeof(*n)); *n=M886; r886refer_to(n,X776start_position((((T648*)((T648*)_tlf)))->_like_what/*12*/),(T0*)C,_rank); _an2=(T0*)n; } {T239*n=malloc(sizeof(*n)); *n=M239; r239make(n,(((T648*)((T648*)_tlf)))->_start_position/*4*/,_an2); _tla=(T0*)n; } /*[IRF3.3set_result_type*/((((T873*)(((T873*)_an))))->_result_type)=(_tla); /*]*/ } /*FI*/} /*FI*/_i=(_i)-(1); } /*IF*/if (r590all_check(((T590*)(oBC364run_control)))) { _i=(((T65*)((T65*)((((T31*)C))->_flat_list/*12*/))))->_upper/*12*/; while (!((_i)==(0))) { _tla=(((T873*)((T873*)(r65item(((T65*)((((T31*)C))->_flat_list/*12*/)),_i)))))->_result_type/*20*/; if(NULL!=(_tla))switch(((T0*)_tla)->id) { case 239: break; default: _tla=NULL; };/*IF*/if ((_tla)!=((void*)(NULL))) { _rank=r31rank_of(C,(((T886*)((T886*)((((T239*)((T239*)_tla)))->_like_what/*12*/))))->_to_string/*8*/); _tla2=(((T873*)((T873*)(r65item(((T65*)((((T31*)C))->_flat_list/*12*/)),_rank)))))->_result_type/*20*/; if(NULL!=(_tla2))switch(((T0*)_tla2)->id) { case 239: break; default: _tla2=NULL; };/*IF*/if ((_tla2)!=((void*)(NULL))) { r683add_position((((T239*)((T239*)_tla)))->_start_position/*4*/); r683add_position((((T239*)((T239*)_tla2)))->_start_position/*4*/); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms64_470); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/} /*FI*/_i=(_i)-(1); } } /*FI*/} /*No:FORMAL_ARG_LIST.name*/ /*No:FORMAL_ARG_LIST.nb_errors*/ T0* r31type(T31* C,int a1){ T0* R=NULL; R=(((T873*)((T873*)(/*(IRF4.6name*/r65item(((T65*)((((T31*)C))->_flat_list/*12*/)),a1)/*)*/))))->_result_type/*20*/; return R; } void r31standard_make(T31* C,T0* a1,T0* a2){ int _actual_count=0; int _il=0; C->_start_position=a1; C->_list=a2; _il=1; while (!((_il)>((((T382*)((T382*)((((T31*)C))->_list/*8*/))))->_upper/*8*/))) { _actual_count=(_actual_count)+(X411count(r382item(((T382*)((((T31*)C))->_list/*8*/)),_il))); _il=(_il)+(1); } {T65*n=malloc(sizeof(*n)); *n=M65; r65make(n,1,_actual_count); C->_flat_list=(T0*)n; } _il=1; while (!((_il)>((((T382*)((T382*)((((T31*)C))->_list/*8*/))))->_upper/*8*/))) { X411append_in(r382item(((T382*)((((T31*)C))->_list/*8*/)),_il),(T0*)C); _il=(_il)+(1); } } /*No:FORMAL_ARG_LIST.start_position*/ T0* r31to_runnable(T31* C,T0* a1){ T0* R=NULL; T0* _n2=NULL; T0* _n1=NULL; int _i=0; /*IF*/if (((((T31*)C))->_current_type/*16*/)==((void*)(NULL))) { C->_current_type=a1; R=(T0*)C; _i=(((T65*)((T65*)((((T31*)C))->_flat_list/*12*/))))->_upper/*12*/; while (!(((_i)==(0))||((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)))) { _n1=r65item(((T65*)((((T31*)C))->_flat_list/*12*/)),_i); _n2=r873to_runnable(((T873*)_n1),a1); /*IF*/if ((_n2)==((void*)(NULL))) { r31error((((T873*)((T873*)_n1)))->_start_position/*12*/,((T0*)ms3_535)); } else if ((_n1)!=((void*)(_n2))) { /*[IRF3.6put*/{T65* C1=((T65*)((((T31*)C))->_flat_list/*12*/)); T0* b1=_n2; int b2=_i; ((((T65*)C1))->_storage/*4*/)[(b2)-((((T65*)C1))->_lower/*16*/)]=(b1); }/*]*/ } /*FI*/r873name_clash(((T873*)_n2)); _i=(_i)-(1); } } else { {T31*n=malloc(sizeof(*n)); *n=M31; r31runnable_from_current(n,(T0*)C,a1); R=(T0*)n; } } /*FI*/return R; } /*No:FORMAL_ARG_LIST.em1*/ /*No:FORMAL_ARG_LIST.list*/ int r31rank_of(T31* C,T0* a1){ int R=0; R=/*(IRF4.6count*/(((T65*)((T65*)((((T31*)C))->_flat_list/*12*/))))->_upper/*12*//*)*/; while (!(((R)==(0))||((a1)==((void*)((((T873*)((T873*)(/*(IRF4.6name*/r65item(((T65*)((((T31*)C))->_flat_list/*12*/)),R)/*)*/))))->_to_string/*8*/))))) { R=(R)-(1); } return R; } /*No:FORMAL_ARG_LIST.current_type*/ int r31is_a_in(T31* C,T0* a1,T0* a2){ int R=0; T0* _t2=NULL; T0* _t1=NULL; int _i=0; /*IF*/if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)a1)))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)C))->_flat_list/*12*/))))->_upper/*12*//*)*/)) { r683add_position((((T31*)((T31*)a1)))->_start_position/*4*/); r31error((((T31*)C))->_start_position/*4*/,((T0*)ms8_31)); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { R=1; _i=1; while (!((!(R))||((_i)>((((T65*)((T65*)((((T31*)C))->_flat_list/*12*/))))->_upper/*12*/)))) { _t1=r31type(C,_i); _t2=r31type(((T31*)a1),_i); /*IF*/if (!(X291is_a_in(_t1,_t2,a2))) { R=0; r683print_as_error(((T683*)(oBC364eh))); r683add_position(X291start_position(_t1)); r683add_position(X291start_position(_t2)); /*[IRF3.6append*/{T0* b1=((T0*)ms9_31); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T368*)((T368*)a2)))->_current_type/*0*/); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } /*FI*/_i=(_i)+(1); } } /*FI*/return R; } /*No:FORMAL_ARG_LIST.fz_cad*/ /*No:FORMAL_ARG_LIST.fz_dot*/ void r31runnable_from_current(T31* C,T0* a1,T0* a2){ T0* _n2=NULL; T0* _n1=NULL; int _i=0; C->_start_position=(((T31*)((T31*)a1)))->_start_position/*4*/; C->_list=(((T31*)((T31*)a1)))->_list/*8*/; C->_current_type=a2; C->_flat_list=r65twin(((T65*)((((T31*)((T31*)a1)))->_flat_list/*12*/))); _i=(((T65*)((T65*)((((T31*)C))->_flat_list/*12*/))))->_upper/*12*/; while (!((_i)==(0))) { _n1=r65item(((T65*)((((T31*)C))->_flat_list/*12*/)),_i); _n2=r873to_runnable(((T873*)_n1),a2); /*IF*/if ((_n2)==((void*)(NULL))) { r31error((((T873*)((T873*)_n1)))->_start_position/*12*/,((T0*)ms3_535)); } /*FI*//*[IRF3.6put*/{T65* C1=((T65*)((((T31*)C))->_flat_list/*12*/)); T0* b1=_n2; int b2=_i; ((((T65*)C1))->_storage/*4*/)[(b2)-((((T65*)C1))->_lower/*16*/)]=(b1); }/*]*/ _i=(_i)-(1); } } void r31add_last(T31* C,T0* a1){ T0* _n2=NULL; int _i=0; _i=1; while (!((r65item(((T65*)((((T31*)C))->_flat_list/*12*/)),_i))==((void*)(NULL)))) { _n2=r65item(((T65*)((((T31*)C))->_flat_list/*12*/)),_i); /*IF*/if (((((T873*)((T873*)_n2)))->_to_string/*8*/)==((void*)((((T873*)((T873*)a1)))->_to_string/*8*/))) { r683add_position((((T873*)((T873*)a1)))->_start_position/*12*/); r683add_position((((T873*)((T873*)_n2)))->_start_position/*12*/); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_535); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/_i=(_i)+(1); } /*[IRF3.6put*/{T65* C1=((T65*)((((T31*)C))->_flat_list/*12*/)); T0* b1=a1; int b2=_i; ((((T65*)C1))->_storage/*4*/)[(b2)-((((T65*)C1))->_lower/*16*/)]=(b1); }/*]*/ /*[IRF3.3set_rank*/((((T873*)(((T873*)a1))))->_rank)=(_i); /*]*/ } void r31error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:FORMAL_ARG_LIST.count*/ /*No:FORMAL_ARG_LIST.fatal_error*/ /*No:FORMAL_ARG_LIST.flat_list*/ int r46gives_permission_to_any(T46* C){ int R=0; int _i=0; _i=(((T901*)((T901*)((((T46*)C))->_list/*0*/))))->_upper/*8*/; while (!((R)||((_i)==(0)))) { R=((((T451*)((T451*)(r901item(((T901*)((((T46*)C))->_list/*0*/)),_i)))))->_to_string/*0*/)==((void*)(((T0*)ms1_473))); _i=(_i)-(1); } return R; } void r46merge(T46* C,T0* a1,T0* a2){ T0* _a=NULL; T0* _cn=NULL; int _i=0; C->_list=r901twin(((T901*)((((T46*)((T46*)a1)))->_list/*0*/))); _a=(((T46*)((T46*)a2)))->_list/*0*/; _i=(((T901*)((T901*)_a)))->_upper/*8*/; while (!((_i)==(0))) { _cn=r901item(((T901*)_a),_i); /*IF*/if (!(r46gives_permission_to(C,_cn))) { r901add_last(((T901*)((((T46*)C))->_list/*0*/)),_cn); } /*FI*/_i=(_i)-(1); } } void r46make(T46* C,T0* a1){ int _i2=0; int _i=0; C->_list=a1; _i=(((T901*)((T901*)((((T46*)C))->_list/*0*/))))->_upper/*8*/; while (!((_i)==(0))) { _i2=r46index_of(C,r901item(((T901*)((((T46*)C))->_list/*0*/)),_i)); /*IF*/if ((_i2)!=(_i)) { r683add_position((((T451*)((T451*)(r901item(((T901*)((((T46*)C))->_list/*0*/)),_i2)))))->_start_position/*4*/); r46warning((((T451*)((T451*)(r901item(((T901*)((((T46*)C))->_list/*0*/)),_i)))))->_start_position/*4*/,((T0*)ms1_46)); } /*FI*/_i=(_i)-(1); } } int r46gives_permission_to(T46* C,T0* a1){ int R=0; int _i=0; /*IF*/if ((r46index_of(C,a1))>(0)) { R=1; } else { _i=(((T901*)((T901*)((((T46*)C))->_list/*0*/))))->_upper/*8*/; while (!((R)||((_i)==(0)))) { R=r451is_subclass_of(((T451*)a1),r901item(((T901*)((((T46*)C))->_list/*0*/)),_i)); _i=(_i)-(1); } } /*FI*/return R; } /*No:CLASS_NAME_LIST.list*/ int r46index_of(T46* C,T0* a1){ int R=0; T0* _to_string=NULL; _to_string=(((T451*)((T451*)a1)))->_to_string/*0*/; R=(((T901*)((T901*)((((T46*)C))->_list/*0*/))))->_upper/*8*/; while (!(((R)==(0))||((_to_string)==((void*)((((T451*)((T451*)(r901item(((T901*)((((T46*)C))->_list/*0*/)),R)))))->_to_string/*0*/))))) { R=(R)-(1); } return R; } /*No:CLASS_NAME_LIST.us_any*/ void r46warning(T0* a1,T0* a2){ r683add_position(a1); r683warning(((T683*)(oBC364eh)),a2); } /*No:TYPE_BIT_REF.short*/ /*No:TYPE_BIT_REF.has_creation*/ /*No:TYPE_BIT_REF.is_anchored*/ /*No:TYPE_BIT_REF.is_array*/ int r963is_a(T963* C,T0* a1){ int R=0; /*IF*/if (((((T963*)C))->_run_time_mark/*12*/)==((void*)(X291run_time_mark(a1)))) { R=1; } else { R=r605is_subclass_of(((T605*)(r963base_class(C))),X291base_class(a1)); /*IF*/if (!(R)) { r683add_type((T0*)C,((T0*)ms71_470)); r683add_type(a1,((T0*)ms67_470)); } /*FI*/} /*FI*/return R; } /*No:TYPE_BIT_REF.is_pointer*/ /*No:TYPE_BIT_REF.run_type*/ /*No:TYPE_BIT_REF.is_string*/ /*No:TYPE_BIT_REF.is_like_feature*/ /*No:TYPE_BIT_REF.is_like_current*/ void r963make(T963* C,T0* a1){ C->_type_bit=a1; C->_run_time_mark=((T0*)ms1_963); r2append_in(X609nb((((T963*)C))->_type_bit/*4*/),(((T963*)C))->_run_time_mark/*12*/); r7append(((T7*)((((T963*)C))->_run_time_mark/*12*/)),((T0*)ms2_963)); C->_run_time_mark=r902item((((T963*)C))->_run_time_mark/*12*/); C->_written_mark=(((T963*)C))->_run_time_mark/*12*/; } T0* r963type_any(void){ if (fBC364type_any==0){ T0* R=NULL; fBC364type_any=1; {T669*n=malloc(sizeof(*n)); *n=M669; r669make(n,NULL); R=(T0*)n; } oBC364type_any=R;} return oBC364type_any;} /*No:TYPE_BIT_REF.start_position*/ /*No:TYPE_BIT_REF.fz_inako*/ /*No:TYPE_BIT_REF.is_character*/ /*No:TYPE_BIT_REF.written_mark*/ /*No:TYPE_BIT_REF.is_run_type*/ /*No:TYPE_BIT_REF.to_runnable*/ T0* r963generic_list(T963* C){ T0* R=NULL; r963fatal_error_generic_list(C); return R; } /*No:TYPE_BIT_REF.is_formal_generic*/ /*No:TYPE_BIT_REF.is_real*/ /*No:TYPE_BIT_REF.is_bit*/ void r963fatal_error_generic_list(T963* C){ r683add_type((T0*)C,((T0*)ms12_291)); r683print_as_fatal_error(((T683*)(oBC364eh))); } T0* r963smallest_ancestor(T963* C,T0* a1){ T0* R=NULL; /*IF*/if (((((T963*)C))->_run_time_mark/*12*/)==((void*)(X291run_time_mark(a1)))) { R=(T0*)C; } else { R=r963type_any(); } /*FI*/return R; } /*No:TYPE_BIT_REF.is_boolean*/ /*No:TYPE_BIT_REF.is_double*/ T0* r963run_class(T963* C){ T0* R=NULL; R=r604run_class(/*(IRF4.4run_type*/((T0*)(C))/*)*/); return R; } /*No:TYPE_BIT_REF.run_time_mark*/ int r963is_a_in(T963* C,T0* a1,T0* a2){ int R=0; T0* _ct=NULL; T0* _t2=NULL; T0* _t1=NULL; /*IF*/if (((((T963*)C))->_written_mark/*8*/)==((void*)(X291written_mark(a1)))) { R=1; } else { _ct=(((T368*)((T368*)a2)))->_current_type/*0*/; _t1=/*(IRF4.4to_runnable*/((T0*)(C))/*)*/; _t2=X291to_runnable(a1,_ct); /*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) { R=1; } else { R=X291is_a(_t1,_t2); } /*FI*/} /*FI*/return R; } T0* r963look_up_for(T963* C,T0* a1,T0* a2){ T0* R=NULL; R=r605look_up_for(((T605*)(r963base_class(C))),a1,a2); return R; } /*No:TYPE_BIT_REF.expanded_initializer*/ /*No:TYPE_BIT_REF.fz_dot*/ /*No:TYPE_BIT_REF.is_generic*/ /*No:TYPE_BIT_REF.used_as_reference*/ /*No:TYPE_BIT_REF.us_bit_n_ref*/ /*No:TYPE_BIT_REF.type_bit*/ /*No:TYPE_BIT_REF.is_reference*/ T0* r963base_class(T963* C){ T0* R=NULL; T0* _bcn=NULL; _bcn=r963base_class_name(); /*IF*/if ((_bcn)!=((void*)(NULL))) { R=r451base_class(((T451*)_bcn)); } else { /*[IRF3.6append*/{T0* b1=((T0*)ms3_291); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683add_type((T0*)C,((T0*)ms67_470)); r683print_as_fatal_error(((T683*)(oBC364eh))); } /*FI*/return R; } /*No:TYPE_BIT_REF.short_hook*/ /*No:TYPE_BIT_REF.is_any*/ int fBC963base_class_name=0; T0*oBC963base_class_name=NULL; T0* r963base_class_name(void){ if (fBC963base_class_name==0){ T0* R=NULL; fBC963base_class_name=1; {T451*n=malloc(sizeof(*n)); *n=M451; r451make(n,((T0*)ms5_473),NULL); R=(T0*)n; } oBC963base_class_name=R;} return oBC963base_class_name;} /*No:TYPE_BIT_REF.is_expanded*/ /*No:TYPE_BIT_REF.is_basic_eiffel_expanded*/ /*No:TYPE_BIT_REF.is_none*/ /*No:TYPE_BIT_REF.is_integer*/ void r707short(T707* C){ r580hook(((T580*)(oBC364short_print)),((T0*)ms1_291)); /*[IRF3.6short_hook*/{T707* C1=C; r580a_class_name(((T580*)(oBC364short_print)),(((T707*)C1))->_base_class_name/*4*/); }/*]*/ r580hook(((T580*)(oBC364short_print)),((T0*)ms2_291)); } int r707has_creation(T707* C,T0* a1){ int R=0; r683add_position(X776start_position(a1)); r707error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T707*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms1_84)); return R; } /*No:TYPE_BOOLEAN.is_anchored*/ /*No:TYPE_BOOLEAN.is_array*/ int r707is_a(T707* C,T0* a1){ int R=0; /*IF*/if (X291is_boolean(a1)) { R=1; } else { R=r605is_subclass_of(((T605*)(r707base_class(C))),X291base_class(a1)); /*IF*/if (R) { r707used_as_reference(); } /*FI*/} /*FI*//*IF*/if (!(R)) { r683add_type((T0*)C,((T0*)ms71_470)); r683add_type(a1,((T0*)ms67_470)); } /*FI*/return R; } /*No:TYPE_BOOLEAN.run_type*/ /*No:TYPE_BOOLEAN.is_pointer*/ /*No:TYPE_BOOLEAN.is_string*/ /*No:TYPE_BOOLEAN.is_like_feature*/ /*No:TYPE_BOOLEAN.is_like_current*/ void r707make(T707* C,T0* a1){ {T451*n=malloc(sizeof(*n)); *n=M451; r451make(n,((T0*)ms6_473),a1); C->_base_class_name=(T0*)n; } } /*No:TYPE_BOOLEAN.nb_errors*/ /*No:TYPE_BOOLEAN.us_item*/ void r707load_ref(T0* a1){ T0* _rf=NULL; T0* _rc=NULL; T0* _cn=NULL; {T451*n=malloc(sizeof(*n)); *n=M451; r451make(n,a1,NULL); _cn=(T0*)n; } _rc=r605run_class(((T605*)(r451base_class(((T451*)_cn))))); r368set_at_run_time(((T368*)_rc)); _rf=r368get_feature_with(((T368*)_rc),((T0*)ms86_473)); } int fBC707check_type=0; void r707check_type(T707* C){ if (fBC707check_type==0){ T0* _rc=NULL; T0* _bc=NULL; fBC707check_type=1; _bc=r707base_class(C); /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { _rc=r707run_class(C); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (!((((T605*)((T605*)_bc)))->_is_expanded/*20*/)) { r707error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T707*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms1_707)); } /*FI*/} /*FI*/}} /*No:TYPE_BOOLEAN.start_position*/ /*No:TYPE_BOOLEAN.fz_inako*/ /*No:TYPE_BOOLEAN.is_character*/ T0* r707written_mark(void){ T0* R=NULL; R=((T0*)ms6_473); return R; } /*No:TYPE_BOOLEAN.is_run_type*/ T0* r707to_runnable(T707* C,T0* a1){ T0* R=NULL; R=(T0*)C; r707check_type(C); return R; } T0* r707generic_list(T707* C){ T0* R=NULL; r707fatal_error_generic_list(C); return R; } /*No:TYPE_BOOLEAN.is_formal_generic*/ /*No:TYPE_BOOLEAN.is_real*/ /*No:TYPE_BOOLEAN.is_bit*/ int fBC364type_boolean_ref=0; T0*oBC364type_boolean_ref=NULL; T0* r707type_boolean_ref(void){ if (fBC364type_boolean_ref==0){ T0* R=NULL; T0* _boolean_ref=NULL; fBC364type_boolean_ref=1; {T451*n=malloc(sizeof(*n)); *n=M451; r451make(n,((T0*)ms7_473),NULL); _boolean_ref=(T0*)n; } {T657*n=malloc(sizeof(*n)); *n=M657; /*[IRF3.3make*/((((T657*)(n)))->_base_class_name)=(_boolean_ref); /*]*/ R=(T0*)n; } oBC364type_boolean_ref=R;} return oBC364type_boolean_ref;} void r707fatal_error_generic_list(T707* C){ r683add_type((T0*)C,((T0*)ms12_291)); r683print_as_fatal_error(((T683*)(oBC364eh))); } T0* r707smallest_ancestor(T707* C,T0* a1){ T0* R=NULL; T0* _rto=NULL; _rto=X291run_type(a1); /*IF*/if (X291is_boolean(_rto)) { R=(T0*)C; } else { R=r657smallest_ancestor(((T657*)(r707type_boolean_ref())),_rto); } /*FI*/return R; } /*No:TYPE_BOOLEAN.is_boolean*/ /*No:TYPE_BOOLEAN.is_double*/ T0* r707run_class(T707* C){ T0* R=NULL; R=r604run_class((T0*)C); return R; } T0* r707run_time_mark(void){ T0* R=NULL; R=((T0*)ms6_473); return R; } int r707is_a_in(T707* C,T0* a1,T0* a2){ int R=0; T0* _ct=NULL; T0* _t2=NULL; T0* _t1=NULL; /*IF*/if ((r707written_mark())==((void*)(X291written_mark(a1)))) { R=1; } else { _ct=(((T368*)((T368*)a2)))->_current_type/*0*/; _t1=r707to_runnable(C,_ct); _t2=X291to_runnable(a1,_ct); /*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) { R=1; } else { R=X291is_a(_t1,_t2); } /*FI*/} /*FI*/return R; } T0* r707look_up_for(T707* C,T0* a1,T0* a2){ T0* R=NULL; R=r605look_up_for(((T605*)(r707base_class(C))),a1,a2); return R; } /*No:TYPE_BOOLEAN.us_boolean*/ /*No:TYPE_BOOLEAN.expanded_initializer*/ /*No:TYPE_BOOLEAN.fz_dot*/ /*No:TYPE_BOOLEAN.is_generic*/ int fBC707used_as_reference=0; void r707used_as_reference(void){ if (fBC707used_as_reference==0){ fBC707used_as_reference=1; r707load_ref(((T0*)ms7_473)); }} /*No:TYPE_BOOLEAN.is_reference*/ void r707error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } T0* r707base_class(T707* C){ T0* R=NULL; T0* _bcn=NULL; _bcn=(((T707*)C))->_base_class_name/*4*/; /*IF*/if ((_bcn)!=((void*)(NULL))) { R=r451base_class(((T451*)_bcn)); } else { /*[IRF3.6append*/{T0* b1=((T0*)ms3_291); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683add_type((T0*)C,((T0*)ms67_470)); r683print_as_fatal_error(((T683*)(oBC364eh))); } /*FI*/return R; } /*No:TYPE_BOOLEAN.short_hook*/ /*No:TYPE_BOOLEAN.is_any*/ /*No:TYPE_BOOLEAN.us_boolean_ref*/ /*No:TYPE_BOOLEAN.base_class_name*/ /*No:TYPE_BOOLEAN.is_expanded*/ /*No:TYPE_BOOLEAN.is_basic_eiffel_expanded*/ /*No:TYPE_BOOLEAN.is_none*/ /*No:TYPE_BOOLEAN.is_integer*/ /*No:COUNTER.value*/ void r417increment(T417* C){ C->_value=((((T417*)C))->_value/*0*/)+(1); } /*No:IFTHENLIST.make*/ /*No:IFTHENLIST.nb_errors*/ T0* r712to_runnable(T712* C,T0* a1){ T0* R=NULL; int _i=0; /*IF*/if (((((T712*)C))->_run_compound/*4*/)!=((void*)(NULL))) { {T712*n=malloc(sizeof(*n)); *n=M712; /*[IRF3.3make*/((((T712*)(n)))->_list)=(r948twin(((T948*)((((T712*)C))->_list/*0*/)))); /*]*/ R=(T0*)n; } R=r712to_runnable(((T712*)R),a1); } else { C->_run_compound=a1; _i=1; while (!(((_i)>((((T948*)((T948*)((((T712*)C))->_list/*0*/))))->_upper/*8*/))||((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)))) { /*[IRF3.6put*/{T948* C1=((T948*)((((T712*)C))->_list/*0*/)); T0* b1=r809to_runnable(((T809*)(r948item(((T948*)((((T712*)C))->_list/*0*/)),_i))),a1); int b2=_i; ((((T948*)C1))->_storage/*0*/)[(b2)-((((T948*)C1))->_lower/*12*/)]=(b1); }/*]*/ _i=(_i)+(1); } R=(T0*)C; } /*FI*/return R; } /*No:IFTHENLIST.list*/ /*No:IFTHENLIST.run_compound*/ /*No:IFTHENLIST.add_last*/